Modul 5 von 16 · 📖 5 min Lesezeit · ⏱ 30 min gesamt
FI-AE 05 Datenbankdesign und Normalformen
Inhaltsverzeichnis (5 Abschnitte)
FI-AE 05 Datenbankdesign und Normalformen
In diesem Modul erlernen Sie die Grundlagen des relationellen Datenbankdesigns. Sie verstehen, wie man Entity-Relationship-Modelle erstellt, welche Normalformen es gibt und wie diese Redundanzen reduzieren. Sie erkennen verschiedene Schlüsselarten und wissen, wann Indizes sinnvoll sind und wann eine bewusste Denormalisierung angebracht ist.
Konzepte und Hintergrund
- Entity-Relationship-Modell (ERM)
- Ein konzeptionelles Modell zur Darstellung von Daten und deren Beziehungen in einer Datenbank. Es besteht aus Entitäten, Attributen und Beziehungen.
- Normalformen
- Stufen der Datenbanknormalisierung, die die Struktur von Tabellen systematisch verbessern. Die ersten drei Normalformen (1NF, 2NF, 3NF) sind die grundlegendsten Regeln zur Reduktion von Redundanzen.
- Primärschlüssel
- Ein oder mehrere Attribute, die jeden Datensatz in einer Tabelle eindeutig identifizieren. Sie müssen eindeutig und nicht-null sein.
- Fremdschlüssel
- Ein Attribut oder eine Attributkombination, die auf den Primärschlüssel einer anderen Tabelle verweist und zur Herstellung von Beziehungen dient.
- Index
- Datenstruktur, die die Geschwindigkeit von Abfragen auf bestimmte Spalten verbessert, indem sie eine sortierte Referenz zu den Daten erstellt.
Praktische Schritte
- Identifizieren Sie alle Entitäten in Ihrem Domänenmodell und definieren Sie deren Attribute. Jede Entität wird später zu einer Tabelle.
- Bestimmen Sie die Beziehungen zwischen den Entitäten (1:1, 1:n, n:m) und modellieren Sie diese im ER-Diagramm.
- Erstellen Sie Tabellen für jede Entität und wählen Sie einen geeigneten Primärschlüssel aus.
- Wenden Sie die erste Normalform an: Stellen Sie sicher, dass jedes Attribur atomar ist und keine wiederholten Gruppen vorhanden sind.
- Wenden Sie die zweite Normalform an: Beseitigen Sie teilabhängige Attribute, indem Sie sie in separate Tabellen mit Fremdschlüsseln auslagern.
- Wenden Sie die dritte Normalform an: Beseitigen Sie transitive Abhängigkeiten, indem Sie Attribute, die nicht direkt vom Primärschlüssel abhängen, in eigene Tabellen verschieben.
- Erstellen Sie Indizes für Spalten, die häufig in WHERE-Klauseln, JOINs oder ORDER BY-Anweisungen verwendet werden.
- Überprüfen Sie die Performance Ihrer Abfragen und passen Sie bei Bedarf die Indizes oder die Normalisierung an.
Häufige Fallstricke
Weiterführende Ressourcen
- MySQL-Dokumentation zur Normalisierung
- PostgreSQL Tutorial: Datenbankdesign
- Database Answers: Normalisation Explained
- SQL Shack: Database Normalization Explained
- Lucidchart: Database Design Guide
Wissens-Check
Vier Fragen zur Selbstkontrolle. Klicken Sie jede Frage an, um die richtige Antwort und Erklärung zu sehen.
Was ist die Hauptaufgabe der Normalformen im Datenbankdesign?
- A) Die Geschwindigkeit von Datenbankabfragen zu maximieren
- B) Redundanzen in der Datenbank zu reduzieren und Datenintegrität zu gewährleisten
- C) Die Speicherplatzanforderungen einer Datenbank zu minimieren
- D) Die Komplexität von SQL-Abfragen zu reduzieren
Richtige Antwort: B. Normalformen reduzieren Redundanzen und gewährleisten Datenintegrität, nicht primär Geschwindigkeit oder Speicherplatz.
Welche der folgenden Aussagen beschreibt einen Fremdschlüssel korrekt?
- A) Ein Attribut, das einen Datensatz eindeutig identifiziert
- B) Ein Attribut, das auf den Primärschlüssel einer anderen Tabelle verweist
- C) Ein Attribut, das nicht-null sein muss und einzigartig ist
- D) Ein Attribut, das zur Verbesserung der Abfragegeschwindigkeit dient
Richtige Antwort: B. Ein Fremdschlüssel verweist auf den Primärschlüssel einer anderen Tabelle und dient zur Herstellung von Beziehungen.
Was ist ein Hauptmerkmal der ersten Normalform (1NF)?
- A) Alle Attribute müssen von allen anderen Attributen abhängig sein
- B) Alle Attribute müssen atomar sein und keine wiederholten Gruppen enthalten
- C) Alle Nicht-Schlüsselattribute müssen vom gesamten Primärschlüssel abhängig sein
- D) Es dürfen keine transitiven Abhängigkeiten vorhanden sein
Richtige Antwort: B. Die 1NF verlangt atomare Attribute und das Fehlen wiederholter Gruppen in den Tabellen.
Wann ist eine bewusste Denormalisierung in einem Datenbankdesign sinnvoll?
- A) Wenn die Datenbank vollständig normalisiert ist und keine Redundanzen mehr vorhanden sind
- B) Wenn die Performance von Abfragen durch zu viele JOINs beeinträchtigt wird
- C) Wenn die Datenbank nicht die dritte Normalform erreicht hat
- D) Wenn die Datenbank keine Fremdschlüssel enthält
Richtige Antwort: B. Denormalisierung kann sinnvoll sein, wenn die Performance durch zu viele JOINs leidet, obwohl sie Redundanzen einführt.